runtime.m.locks (field)
49 uses
runtime (current package)
lock_spinbit.go#L166: if gp.m.locks < 0 {
lock_spinbit.go#L169: gp.m.locks += mutexMLocksDelta
lock_spinbit.go#L327: gp.m.locks -= mutexMLocksDelta
lock_spinbit.go#L328: if gp.m.locks < 0 {
lock_spinbit.go#L331: if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
lockrank_off.go#L32: mp.locks += mutexMLocksDelta // not safe to profile right now
lockrank_off.go#L44: mp.locks -= mutexMLocksDelta
mgc.go#L739: if gp := getg(); gp == mp.g0 || mp.locks > 1 || mp.preemptoff != "" {
mgcmark.go#L505: if mp := getg().m; mp.locks > 0 || mp.preemptoff != "" {
mgcsweep.go#L364: gp.m.locks++
mgcsweep.go#L370: gp.m.locks--
mgcsweep.go#L448: gp.m.locks--
mgcsweep.go#L470: if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
mgcsweep.go#L509: if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
mprof.go#L748: if gp := getg(); gp.m.locks/mutexMLocksDelta == 1 && gp.m.mLockProfile.haveStack {
panic.go#L841: if gp.m.locks != 0 {
panic.go#L1539: if gp.m.locks < 0 {
panic.go#L1540: gp.m.locks = 1
panic.go#L1650: if mp.locks != 1 || mp.mallocing != 0 || mp.throwing != throwTypeNone || mp.preemptoff != "" || mp.dying != 0 {
preempt.go#L290: return mp.locks == 0 && mp.mallocing == 0 && mp.preemptoff == "" && mp.p.ptr().status == _Prunning && mp.curg != nil && readgstatus(mp.curg)&^_Gscan != _Gsyscall
print.go#L71: mp.locks++ // do not reschedule between printlock++ and lock(&debuglock).
print.go#L76: mp.locks-- // now we know debuglock is held and holding up mp.locks for us.
proc.go#L1665: if gp.m.locks > 0 {
proc.go#L3010: if gp.m.locks != 0 {
proc.go#L4153: if mp.locks != 0 {
proc.go#L4647: gp.m.locks++
proc.go#L4754: gp.m.locks--
proc.go#L4833: gp.m.locks++ // see comment in entersyscall
proc.go#L4899: gp.m.locks--
proc.go#L4925: gp.m.locks++ // see comment in entersyscall
proc.go#L5033: gp.m.locks--
proc.go#L5050: gp.m.locks--
proc.go#L5210: gp.m.locks++
proc.go#L5241: gp.m.locks--
proc.go#L5928: gp.m.locks++
proc.go#L5952: gp.m.locks--
proc.go#L7019: print(" mallocing=", mp.mallocing, " throwing=", mp.throwing, " preemptoff=", mp.preemptoff, " locks=", mp.locks, " dying=", mp.dying, " spinning=", mp.spinning, " blocked=", mp.blocked, " lockedg=")
proc.go#L7940: mp.locks++
proc.go#L7958: gp.m.locks--
rand.go#L179: mp.locks++ // hold m even though c.Refill may do stack split checks
rand.go#L181: mp.locks--
runtime1.go#L614: gp.m.locks++
runtime1.go#L621: mp.locks--
runtime1.go#L622: if mp.locks == 0 && gp.preempt {
runtime2.go#L650: locks int32
sema.go#L264: if s.ticket == 1 && getg().m.locks == 0 && getg() != getg().m.g0 {
stack.go#L1155: if thisg.m.p == 0 && thisg.m.locks == 0 {
vgetrandom_linux.go#L119: mp.locks++
vgetrandom_linux.go#L121: mp.locks--